/** Definition of the DataID class.
 * @file 
 * @author Jeremy Schultz
 */

#ifndef	__DATAID_H_
#define	__DATAID_H_

#include <string>
#include <sstream>
#include <vector>
#include "WordData.h"

#define DATAID	static_cast<DataID*>

using namespace std;

/** Provide support for a Data ID in WordData.
 */
class DataID : public WordData	{
	private:
		string id;		/**< Stores the word */

	public:
		/** Constructor.
		 */
		DataID();

		/** Constructor.
		 * @param _id The id (lexeme) of the Word
		 */
		DataID(string _id);

		/** Getter - id.
		 * @return The value of id 
		 */
		string Id();

		/** Setter - id.
		 * @param _id	Set the id to this 
		 */
		void setId(string _id);


		/** A String representation of DataID.
		 * @return A string
		 * The string format will be: <br>
		 *  type: <i>int</i> id: <i>string</i>
		 */
		string toString();
};
#endif



